{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "# Illustration of transforms\n",
    "\n",
    "This example illustrates the various transforms available in `the\n",
    "torchvision.transforms module <transforms>`.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# sphinx_gallery_thumbnail_path = \"../../gallery/assets/transforms_thumbnail.png\"\n",
    "\n",
    "from PIL import Image\n",
    "from pathlib import Path\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "import torch\n",
    "import torchvision.transforms as T\n",
    "\n",
    "\n",
    "plt.rcParams[\"savefig.bbox\"] = 'tight'\n",
    "# orig_img = Image.open(Path('/Users/liangjeff/Desktop/code/EnyAC/zsseg.baseline/configs/masked_images/mIoU20_mIoU27/mIoU20/000000000009_0.jpg')\n",
    "# if you change the seed, make sure that the randomly-applied transforms\n",
    "# properly show that the image can be both transformed and *not* transformed!\n",
    "torch.manual_seed(0)\n",
    "\n",
    "\n",
    "def plot(imgs, with_orig=True, row_title=None, **imshow_kwargs):\n",
    "    if not isinstance(imgs[0], list):\n",
    "        # Make a 2d grid even if there's just 1 row\n",
    "        imgs = [imgs]\n",
    "\n",
    "    num_rows = len(imgs)\n",
    "    num_cols = len(imgs[0]) + with_orig\n",
    "    fig, axs = plt.subplots(nrows=num_rows, ncols=num_cols, squeeze=False)\n",
    "    for row_idx, row in enumerate(imgs):\n",
    "        row = [orig_img] + row if with_orig else row\n",
    "        for col_idx, img in enumerate(row):\n",
    "            ax = axs[row_idx, col_idx]\n",
    "            ax.imshow(np.asarray(img), **imshow_kwargs)\n",
    "            ax.set(xticklabels=[], yticklabels=[], xticks=[], yticks=[])\n",
    "\n",
    "    if with_orig:\n",
    "        axs[0, 0].set(title='Original image')\n",
    "        axs[0, 0].title.set_size(8)\n",
    "    if row_title is not None:\n",
    "        for row_idx in range(num_rows):\n",
    "            axs[row_idx, 0].set(ylabel=row_title[row_idx])\n",
    "\n",
    "    plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pad\n",
    "The :class:`~torchvision.transforms.Pad` transform\n",
    "(see also :func:`~torchvision.transforms.functional.pad`)\n",
    "fills image borders with some pixel values.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "orig_img = Image.open('/Users/liangjeff/Desktop/code/EnyAC/zsseg.baseline/configs/masked_images/mIoU20_mIoU27/mIoU20/000000000009_0.jpg')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "padded_imgs = [T.Pad(padding=padding)(orig_img) for padding in (3, 10, 30, 50)]\n",
    "plot(padded_imgs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "from torchvision.transforms import Normalize, Compose, RandomResizedCrop, InterpolationMode, ToTensor, Resize, \\\n",
    "    CenterCrop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "randomresizecrop = RandomResizedCrop(224, scale=[0.1,1.0], interpolation=InterpolationMode.BICUBIC)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "randomresizecrop_imgs = [randomresizecrop(orig_img) for i in range(4)]\n",
    "\n",
    "# randomresizecrop_imgs = randomresizecrop(orig_img)\n",
    "plot(randomresizecrop_imgs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 342,
   "metadata": {},
   "outputs": [],
   "source": [
    "def _convert_to_rgb(image):\n",
    "    return image.convert('RGB')\n",
    "\n",
    "aug = Compose([RandomResizedCrop(224, scale=[0.1,1.0], interpolation=InterpolationMode.BICUBIC),\n",
    "                _convert_to_rgb,\n",
    "              ToTensor(),\n",
    "              normalize])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 343,
   "metadata": {},
   "outputs": [],
   "source": [
    "aug_img = aug(orig_img)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 344,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[[-9.4855e-05, -9.4855e-05, -9.4855e-05,  ..., -9.4855e-05,\n",
       "          -9.4855e-05, -9.4855e-05],\n",
       "         [-9.4855e-05, -9.4855e-05, -9.4855e-05,  ..., -9.4855e-05,\n",
       "          -9.4855e-05, -9.4855e-05],\n",
       "         [-9.4855e-05, -9.4855e-05, -9.4855e-05,  ..., -9.4855e-05,\n",
       "          -9.4855e-05, -9.4855e-05],\n",
       "         ...,\n",
       "         [-9.4855e-05, -9.4855e-05, -9.4855e-05,  ..., -9.4855e-05,\n",
       "          -9.4855e-05, -9.4855e-05],\n",
       "         [-9.4855e-05, -9.4855e-05, -9.4855e-05,  ..., -9.4855e-05,\n",
       "          -9.4855e-05, -9.4855e-05],\n",
       "         [-9.4855e-05, -9.4855e-05, -9.4855e-05,  ..., -9.4855e-05,\n",
       "          -9.4855e-05, -9.4855e-05]],\n",
       "\n",
       "        [[ 7.5275e-06,  7.5275e-06,  7.5275e-06,  ...,  7.5275e-06,\n",
       "           7.5275e-06,  7.5275e-06],\n",
       "         [ 7.5275e-06,  7.5275e-06,  7.5275e-06,  ...,  7.5275e-06,\n",
       "           7.5275e-06,  7.5275e-06],\n",
       "         [ 7.5275e-06,  7.5275e-06,  7.5275e-06,  ...,  7.5275e-06,\n",
       "           7.5275e-06,  7.5275e-06],\n",
       "         ...,\n",
       "         [ 7.5275e-06,  7.5275e-06,  7.5275e-06,  ...,  7.5275e-06,\n",
       "           7.5275e-06,  7.5275e-06],\n",
       "         [ 7.5275e-06,  7.5275e-06,  7.5275e-06,  ...,  7.5275e-06,\n",
       "           7.5275e-06,  7.5275e-06],\n",
       "         [ 7.5275e-06,  7.5275e-06,  7.5275e-06,  ...,  7.5275e-06,\n",
       "           7.5275e-06,  7.5275e-06]],\n",
       "\n",
       "        [[ 7.8240e-05,  7.8240e-05,  7.8240e-05,  ...,  7.8240e-05,\n",
       "           7.8240e-05,  7.8240e-05],\n",
       "         [ 7.8240e-05,  7.8240e-05,  7.8240e-05,  ...,  7.8240e-05,\n",
       "           7.8240e-05,  7.8240e-05],\n",
       "         [ 7.8240e-05,  7.8240e-05,  7.8240e-05,  ...,  7.8240e-05,\n",
       "           7.8240e-05,  7.8240e-05],\n",
       "         ...,\n",
       "         [ 7.8240e-05,  7.8240e-05,  7.8240e-05,  ...,  7.8240e-05,\n",
       "           7.8240e-05,  7.8240e-05],\n",
       "         [ 7.8240e-05,  7.8240e-05,  7.8240e-05,  ...,  7.8240e-05,\n",
       "           7.8240e-05,  7.8240e-05],\n",
       "         [ 7.8240e-05,  7.8240e-05,  7.8240e-05,  ...,  7.8240e-05,\n",
       "           7.8240e-05,  7.8240e-05]]])"
      ]
     },
     "execution_count": 344,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aug_img"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 337,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[[0.4863, 0.4863, 0.4863,  ..., 0.4863, 0.4863, 0.4863],\n",
       "         [0.4863, 0.4863, 0.4863,  ..., 0.4863, 0.4863, 0.4863],\n",
       "         [0.4863, 0.4863, 0.4863,  ..., 0.4863, 0.4863, 0.4863],\n",
       "         ...,\n",
       "         [0.4863, 0.4863, 0.4863,  ..., 0.4863, 0.4863, 0.4863],\n",
       "         [0.4863, 0.4863, 0.4863,  ..., 0.4863, 0.4863, 0.4863],\n",
       "         [0.4863, 0.4863, 0.4863,  ..., 0.4863, 0.4863, 0.4863]],\n",
       "\n",
       "        [[0.4549, 0.4549, 0.4549,  ..., 0.4549, 0.4549, 0.4549],\n",
       "         [0.4549, 0.4549, 0.4549,  ..., 0.4549, 0.4549, 0.4549],\n",
       "         [0.4549, 0.4549, 0.4549,  ..., 0.4549, 0.4549, 0.4549],\n",
       "         ...,\n",
       "         [0.4549, 0.4549, 0.4549,  ..., 0.4549, 0.4549, 0.4549],\n",
       "         [0.4549, 0.4549, 0.4549,  ..., 0.4549, 0.4549, 0.4549],\n",
       "         [0.4549, 0.4549, 0.4549,  ..., 0.4549, 0.4549, 0.4549]],\n",
       "\n",
       "        [[0.4039, 0.4039, 0.4039,  ..., 0.4039, 0.4039, 0.4039],\n",
       "         [0.4039, 0.4039, 0.4039,  ..., 0.4039, 0.4039, 0.4039],\n",
       "         [0.4039, 0.4039, 0.4039,  ..., 0.4039, 0.4039, 0.4039],\n",
       "         ...,\n",
       "         [0.4039, 0.4039, 0.4039,  ..., 0.4039, 0.4039, 0.4039],\n",
       "         [0.4039, 0.4039, 0.4039,  ..., 0.4039, 0.4039, 0.4039],\n",
       "         [0.4039, 0.4039, 0.4039,  ..., 0.4039, 0.4039, 0.4039]]])"
      ]
     },
     "execution_count": 337,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aug_img"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 338,
   "metadata": {},
   "outputs": [],
   "source": [
    "mean = (0.4863, 0.4549, 0.4039)  # OpenAI dataset mean\n",
    "std = (0.26862954, 0.26130258, 0.27577711)  # OpenAI dataset std\n",
    "normalize = Normalize(mean=mean, std=std)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 322,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch.nn as nn\n",
    "import random\n",
    "from scipy.ndimage.morphology import binary_erosion\n",
    "\n",
    "class Erosion(nn.Module):\n",
    "\n",
    "    def __init__(self, ksize_list=(1,), mean=(124, 116, 103)):\n",
    "        super(Erosion, self).__init__()\n",
    "        self.ksize_list = ksize_list\n",
    "        self.mean = np.array(mean).astype(np.uint8)\n",
    "\n",
    "    def forward(self, img):\n",
    "        ksize = random.choice(self.ksize_list)\n",
    "        imarray = np.array(img)\n",
    "        mask = (imarray == self.mean).all(axis=2)\n",
    "        mask = ~mask\n",
    "        mask = mask.astype(int)\n",
    "        erosion_mask = binary_erosion(mask, structure=np.ones((ksize,ksize))).astype(mask.dtype)\n",
    "        imarray[erosion_mask==0] = self.mean\n",
    "        img = Image.fromarray(imarray)\n",
    "        return img\n",
    "        \n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 323,
   "metadata": {},
   "outputs": [],
   "source": [
    "def _convert_to_rgb(image):\n",
    "    return image.convert('RGB')\n",
    "\n",
    "aug = Compose([\n",
    "#     RandomResizedCrop(224, scale=[0.4,1.0], interpolation=InterpolationMode.BICUBIC),\n",
    "               Erosion(),\n",
    "               \n",
    "#                 _convert_to_rgb,\n",
    "              ])\n",
    "#               ToTensor(),\n",
    "#               normalize,])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 327,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "erision_imgs = [aug(orig_img) for i in range(4)]\n",
    "\n",
    "# randomresizecrop_imgs = randomresizecrop(orig_img)\n",
    "plot(erision_imgs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "224 224\n"
     ]
    }
   ],
   "source": [
    "width, height = orig_img.size\n",
    "print(width, height)\n",
    "pixels = list(orig_img.getdata())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 182,
   "metadata": {},
   "outputs": [],
   "source": [
    "imarray = np.array(orig_img)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 183,
   "metadata": {},
   "outputs": [],
   "source": [
    "mask = (imarray == (124, 116, 103)).all(axis=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ True,  True,  True, ...,  True,  True,  True],\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       ...,\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       [ True,  True,  True, ...,  True,  True,  True],\n",
       "       [ True,  True,  True, ...,  True,  True,  True]])"
      ]
     },
     "execution_count": 184,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 213,
   "metadata": {},
   "outputs": [],
   "source": [
    "mask_rev = ~mask"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 215,
   "metadata": {},
   "outputs": [],
   "source": [
    "mask_rev = mask_rev.astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 220,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1,\n",
       "       1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0])"
      ]
     },
     "execution_count": 220,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask_rev[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 221,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.ndimage.morphology import binary_erosion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 243,
   "metadata": {},
   "outputs": [],
   "source": [
    "new_mask = binary_erosion(mask_rev, structure=np.ones((11,11))).astype(mask_rev.dtype)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 244,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0])"
      ]
     },
     "execution_count": 244,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_mask[6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 245,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,\n",
       "       0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0])"
      ]
     },
     "execution_count": 245,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask_rev[6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=224x224 at 0x7FCDD0F1F2B0>"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "orig_img"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [],
   "source": [
    "imarray_mask = imarray"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 187,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True, False,\n",
       "       False, False, False, False,  True, False, False, False,  True,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True])"
      ]
     },
     "execution_count": 187,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 246,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=224x224 at 0x7FCDD1F0A518>"
      ]
     },
     "execution_count": 246,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "imarray = np.array(orig_img)\n",
    "imarray_mask = imarray\n",
    "imarray_mask[new_mask==0] = (124, 116, 103)\n",
    "im = Image.fromarray(imarray_mask)\n",
    "im"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 232,
   "metadata": {},
   "outputs": [],
   "source": [
    "imarray\n",
    "im = Image.fromarray(imarray_mask)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 233,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOAAAADgCAIAAACVT/22AAACbUlEQVR4nO3SMQHAIADAsDGzGOBEPA546ZEo6NGx1/yg6n8dADcGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEqaQUkzKGkGJc2gpBmUNIOSZlDSDEraAdrtAxeTL+VJAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=224x224 at 0x7FCDC0EDEDA0>"
      ]
     },
     "execution_count": 233,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "im"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 235,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=224x224 at 0x7FCDD1F0AE10>"
      ]
     },
     "execution_count": 235,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "imarray = np.array(orig_img)\n",
    "im = Image.fromarray(imarray_mask)\n",
    "im"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Resize\n",
    "The :class:`~torchvision.transforms.Resize` transform\n",
    "(see also :func:`~torchvision.transforms.functional.resize`)\n",
    "resizes an image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "resized_imgs = [T.Resize(size=size)(orig_img) for size in (30, 50, 100, orig_img.size)]\n",
    "plot(resized_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## CenterCrop\n",
    "The :class:`~torchvision.transforms.CenterCrop` transform\n",
    "(see also :func:`~torchvision.transforms.functional.center_crop`)\n",
    "crops the given image at the center.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "center_crops = [T.CenterCrop(size=size)(orig_img) for size in (30, 50, 100, orig_img.size)]\n",
    "plot(center_crops)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## FiveCrop\n",
    "The :class:`~torchvision.transforms.FiveCrop` transform\n",
    "(see also :func:`~torchvision.transforms.functional.five_crop`)\n",
    "crops the given image into four corners and the central crop.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "(top_left, top_right, bottom_left, bottom_right, center) = T.FiveCrop(size=(100, 100))(orig_img)\n",
    "plot([top_left, top_right, bottom_left, bottom_right, center])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Grayscale\n",
    "The :class:`~torchvision.transforms.Grayscale` transform\n",
    "(see also :func:`~torchvision.transforms.functional.to_grayscale`)\n",
    "converts an image to grayscale\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "gray_img = T.Grayscale()(orig_img)\n",
    "plot([gray_img], cmap='gray')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Random transforms\n",
    "The following transforms are random, which means that the same transfomer\n",
    "instance will produce different result each time it transforms a given image.\n",
    "\n",
    "### ColorJitter\n",
    "The :class:`~torchvision.transforms.ColorJitter` transform\n",
    "randomly changes the brightness, saturation, and other properties of an image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "jitter = T.ColorJitter(brightness=.5, hue=.3)\n",
    "jitted_imgs = [jitter(orig_img) for _ in range(4)]\n",
    "plot(jitted_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### GaussianBlur\n",
    "The :class:`~torchvision.transforms.GaussianBlur` transform\n",
    "(see also :func:`~torchvision.transforms.functional.gaussian_blur`)\n",
    "performs gaussian blur transform on an image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "blurrer = T.GaussianBlur(kernel_size=(5, 9), sigma=(0.1, 5))\n",
    "blurred_imgs = [blurrer(orig_img) for _ in range(4)]\n",
    "plot(blurred_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomPerspective\n",
    "The :class:`~torchvision.transforms.RandomPerspective` transform\n",
    "(see also :func:`~torchvision.transforms.functional.perspective`)\n",
    "performs random perspective transform on an image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "perspective_transformer = T.RandomPerspective(distortion_scale=0.6, p=1.0)\n",
    "perspective_imgs = [perspective_transformer(orig_img) for _ in range(4)]\n",
    "plot(perspective_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomRotation\n",
    "The :class:`~torchvision.transforms.RandomRotation` transform\n",
    "(see also :func:`~torchvision.transforms.functional.rotate`)\n",
    "rotates an image with random angle.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "rotater = T.RandomRotation(degrees=(0, 180))\n",
    "rotated_imgs = [rotater(orig_img) for _ in range(4)]\n",
    "plot(rotated_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomAffine\n",
    "The :class:`~torchvision.transforms.RandomAffine` transform\n",
    "(see also :func:`~torchvision.transforms.functional.affine`)\n",
    "performs random affine transform on an image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "affine_transfomer = T.RandomAffine(degrees=(30, 70), translate=(0.1, 0.3), scale=(0.5, 0.75))\n",
    "affine_imgs = [affine_transfomer(orig_img) for _ in range(4)]\n",
    "plot(affine_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomCrop\n",
    "The :class:`~torchvision.transforms.RandomCrop` transform\n",
    "(see also :func:`~torchvision.transforms.functional.crop`)\n",
    "crops an image at a random location.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "cropper = T.RandomCrop(size=(128, 128))\n",
    "crops = [cropper(orig_img) for _ in range(4)]\n",
    "plot(crops)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomResizedCrop\n",
    "The :class:`~torchvision.transforms.RandomResizedCrop` transform\n",
    "(see also :func:`~torchvision.transforms.functional.resized_crop`)\n",
    "crops an image at a random location, and then resizes the crop to a given\n",
    "size.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "resize_cropper = T.RandomResizedCrop(size=(32, 32))\n",
    "resized_crops = [resize_cropper(orig_img) for _ in range(4)]\n",
    "plot(resized_crops)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomInvert\n",
    "The :class:`~torchvision.transforms.RandomInvert` transform\n",
    "(see also :func:`~torchvision.transforms.functional.invert`)\n",
    "randomly inverts the colors of the given image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "inverter = T.RandomInvert()\n",
    "invertered_imgs = [inverter(orig_img) for _ in range(4)]\n",
    "plot(invertered_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomPosterize\n",
    "The :class:`~torchvision.transforms.RandomPosterize` transform\n",
    "(see also :func:`~torchvision.transforms.functional.posterize`)\n",
    "randomly posterizes the image by reducing the number of bits\n",
    "of each color channel.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "posterizer = T.RandomPosterize(bits=2)\n",
    "posterized_imgs = [posterizer(orig_img) for _ in range(4)]\n",
    "plot(posterized_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomSolarize\n",
    "The :class:`~torchvision.transforms.RandomSolarize` transform\n",
    "(see also :func:`~torchvision.transforms.functional.solarize`)\n",
    "randomly solarizes the image by inverting all pixel values above\n",
    "the threshold.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "solarizer = T.RandomSolarize(threshold=192.0)\n",
    "solarized_imgs = [solarizer(orig_img) for _ in range(4)]\n",
    "plot(solarized_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomAdjustSharpness\n",
    "The :class:`~torchvision.transforms.RandomAdjustSharpness` transform\n",
    "(see also :func:`~torchvision.transforms.functional.adjust_sharpness`)\n",
    "randomly adjusts the sharpness of the given image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sharpness_adjuster = T.RandomAdjustSharpness(sharpness_factor=2)\n",
    "sharpened_imgs = [sharpness_adjuster(orig_img) for _ in range(4)]\n",
    "plot(sharpened_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomAutocontrast\n",
    "The :class:`~torchvision.transforms.RandomAutocontrast` transform\n",
    "(see also :func:`~torchvision.transforms.functional.autocontrast`)\n",
    "randomly applies autocontrast to the given image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "autocontraster = T.RandomAutocontrast()\n",
    "autocontrasted_imgs = [autocontraster(orig_img) for _ in range(4)]\n",
    "plot(autocontrasted_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomEqualize\n",
    "The :class:`~torchvision.transforms.RandomEqualize` transform\n",
    "(see also :func:`~torchvision.transforms.functional.equalize`)\n",
    "randomly equalizes the histogram of the given image.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "equalizer = T.RandomEqualize()\n",
    "equalized_imgs = [equalizer(orig_img) for _ in range(4)]\n",
    "plot(equalized_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### AutoAugment\n",
    "The :class:`~torchvision.transforms.AutoAugment` transform\n",
    "automatically augments data based on a given auto-augmentation policy.\n",
    "See :class:`~torchvision.transforms.AutoAugmentPolicy` for the available policies.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "policies = [T.AutoAugmentPolicy.CIFAR10, T.AutoAugmentPolicy.IMAGENET, T.AutoAugmentPolicy.SVHN]\n",
    "augmenters = [T.AutoAugment(policy) for policy in policies]\n",
    "imgs = [\n",
    "    [augmenter(orig_img) for _ in range(4)]\n",
    "    for augmenter in augmenters\n",
    "]\n",
    "row_title = [str(policy).split('.')[-1] for policy in policies]\n",
    "plot(imgs, row_title=row_title)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandAugment\n",
    "The :class:`~torchvision.transforms.RandAugment` transform automatically augments the data.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "augmenter = T.RandAugment()\n",
    "imgs = [augmenter(orig_img) for _ in range(4)]\n",
    "plot(imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### TrivialAugmentWide\n",
    "The :class:`~torchvision.transforms.TrivialAugmentWide` transform automatically augments the data.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "augmenter = T.TrivialAugmentWide()\n",
    "imgs = [augmenter(orig_img) for _ in range(4)]\n",
    "plot(imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### AugMix\n",
    "The :class:`~torchvision.transforms.AugMix` transform automatically augments the data.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "augmenter = T.AugMix()\n",
    "imgs = [augmenter(orig_img) for _ in range(4)]\n",
    "plot(imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Randomly-applied transforms\n",
    "\n",
    "Some transforms are randomly-applied given a probability ``p``.  That is, the\n",
    "transformed image may actually be the same as the original one, even when\n",
    "called with the same transformer instance!\n",
    "\n",
    "### RandomHorizontalFlip\n",
    "The :class:`~torchvision.transforms.RandomHorizontalFlip` transform\n",
    "(see also :func:`~torchvision.transforms.functional.hflip`)\n",
    "performs horizontal flip of an image, with a given probability.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "hflipper = T.RandomHorizontalFlip(p=0.5)\n",
    "transformed_imgs = [hflipper(orig_img) for _ in range(4)]\n",
    "plot(transformed_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomVerticalFlip\n",
    "The :class:`~torchvision.transforms.RandomVerticalFlip` transform\n",
    "(see also :func:`~torchvision.transforms.functional.vflip`)\n",
    "performs vertical flip of an image, with a given probability.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "vflipper = T.RandomVerticalFlip(p=0.5)\n",
    "transformed_imgs = [vflipper(orig_img) for _ in range(4)]\n",
    "plot(transformed_imgs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RandomApply\n",
    "The :class:`~torchvision.transforms.RandomApply` transform\n",
    "randomly applies a list of transforms, with a given probability.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "applier = T.RandomApply(transforms=[T.RandomCrop(size=(64, 64))], p=0.5)\n",
    "transformed_imgs = [applier(orig_img) for _ in range(4)]\n",
    "plot(transformed_imgs)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
